From a9b44cbae79e9c01cff07964a45e1c7efa7fb241 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 5 Dec 2024 19:20:36 -0800 Subject: cached rates --- src/routes/(app)/invoice/[id]/tip/+page.server.ts | 10 ++++++---- src/routes/(app)/invoice/[id]/tip/+page.svelte | 10 +++------- 2 files changed, 9 insertions(+), 11 deletions(-) (limited to 'src/routes/(app)/invoice/[id]/tip') diff --git a/src/routes/(app)/invoice/[id]/tip/+page.server.ts b/src/routes/(app)/invoice/[id]/tip/+page.server.ts index a1ba8924..32eea868 100644 --- a/src/routes/(app)/invoice/[id]/tip/+page.server.ts +++ b/src/routes/(app)/invoice/[id]/tip/+page.server.ts @@ -1,13 +1,15 @@ -import { get } from "$lib/utils"; import invoice from "$lib/invoice"; +import getRates from "$lib/rates"; import { redirect } from "@sveltejs/kit"; export async function load({ parent }) { - const rates = await get("/rates"); - const { invoice } = await parent(); + const rates = await getRates(); + const { invoice, user } = await parent(); if (!invoice.amount) redirect(307, `/invoice/${invoice.id}`); - return { rates }; + const rate = rates[user.currency]; + const invoiceRate = rates[invoice.currency]; + return { rate, invoiceRate }; } export const actions = { diff --git a/src/routes/(app)/invoice/[id]/tip/+page.svelte b/src/routes/(app)/invoice/[id]/tip/+page.svelte index 1c651163..7999030e 100644 --- a/src/routes/(app)/invoice/[id]/tip/+page.svelte +++ b/src/routes/(app)/invoice/[id]/tip/+page.svelte @@ -63,7 +63,7 @@ let submit = $state(); let { data } = $props(); - let { invoice, id, user, rates } = $state(data); + let { invoice, id, user } = $state(data); let { aid, amount, @@ -83,7 +83,7 @@ let fullscreen; let currency = user?.currency || invoice.currency; - let rate = invoice.rate * (rates[currency] / rates[invoice.currency]); + let rate = invoice.rate * (data.rate / data.invoiceRate); $effect(() => { tip = Math.round((amount / 100) * untrack(() => tipPercent)); @@ -95,11 +95,7 @@
-
+ -- cgit v1.2.3